When a window is unmapped, freeze its frame clock. This avoids doing
unnecessary work, but also means that we won't block waiting for
_NET_WM_FRAME_DRAWN messages that will never be received since the
frame ended while the window was withdrawn.
https://bugzilla.gnome.org/show_bug.cgi?id=685460
gdk_frame_clock_thaw (gdk_window_get_frame_clock (event->any.window));
}
+ if (toplevel)
+ gdk_window_freeze_toplevel_updates_libgtk_only (window);
+
_gdk_x11_window_grab_check_unmap (window, xevent->xany.serial);
}
gdk_synthesize_window_state (window,
GDK_WINDOW_STATE_ICONIFIED,
0);
+
+ if (toplevel)
+ gdk_window_thaw_toplevel_updates_libgtk_only (window);
}
break;
G_CALLBACK (on_frame_clock_before_paint), window);
g_signal_connect (clock, "after-paint",
G_CALLBACK (on_frame_clock_after_paint), window);
+
+ if (GDK_WINDOW_TYPE (window) != GDK_WINDOW_CHILD)
+ gdk_window_freeze_toplevel_updates_libgtk_only (window);
}
static GdkEventMask